﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using SMS.dao;
using System.Windows.Forms;
using System.Data;

namespace SMS.cntr
{
    public class CourseCntr
    {
        private static readonly CourseCntr INSTANCE = new CourseCntr();

        public static CourseCntr Instance
        {
            get
            {
                return INSTANCE;
            }
        }

        private CourseCntr() { }
		// long
        public void insert(String name)
        {
            if (validateCreatingCourse(name) & checkduplicateName(name))
            {
                int result = CourseDao.Instance.insert(name);

                if (result == 1)
                {
                    MessageBox.Show("Tạo môn học thành công");
                }
            }
        }

        public bool validateCreatingCourse(String name)
        {
            if (name.Equals(""))
            {
                MessageBox.Show("Cần phải điền tên môn học");
                return false;
            }

            return true;
        }

        public void update(String name, int id)
        {
            if (validateUpdateCourse(name) & checkduplicateName(name))
            {
                int result = CourseDao.Instance.update(name, id);

                if (result == 1)
                {
                    MessageBox.Show(" Sửa tên môn học thành công");
                }
            }
        }

        public bool validateUpdateCourse(String name)
        {
            if (name.Equals(""))
            {
                MessageBox.Show("Không được để trống tên môn học");
                return false;
            }

            return true;
        }
		
		private bool checkduplicateName(string courseName)
        {
            DataTable dt = CourseDao.Instance.findcourseName(courseName);
            if (dt.Rows.Count == 1) { MessageBox.Show("Đã có môn học này. Xin nhập môn học khác !"); return false; }
            return true;
        }
		
        public void delete(int id)
        {
            int result = CourseDao.Instance.delete(id);

            if (result == 1)
            {
                MessageBox.Show(" Xóa môn học thành công");
            }
            else
            {
                MessageBox.Show("Phải chọn 1 môn học để xóa");
            }
        }

        public DataTable findAll()
        {
            return CourseDao.Instance.findAll();
        }

        // end of long
    }
}
